Data is often provided to electronic systems to enable the electronic systems to function. In some integrated circuit devices, the data may be used to program the integrated circuit to enable a circuit to function as desired by a user. For example, the data may be data for configuring an integrated circuit device having programmable resources. Developing the data for configuring an integrated circuit device having programmable resources may take significant time and resources, and therefore may be costly. Accordingly, fraudulent third parties may be interested in intercepting the data and using the data without compensating the owner of the data. In other circumstances, adversaries may be interested in altering data coupled to an integrated circuit to impair the integrated circuit or the device implementing the integrated circuit.
While efforts have been made to eliminate the problem of tampering with data adapted to program integrated circuit devices, these efforts have had significant limitations. For example, it may be possible to tamper with data of a bitstream before an authentication tag is checked. Further, the transmission of data to a device may be controlled by a predetermined data transfer protocol. Therefore, any modification to the data stream which enables detecting any tampering must conform to the data transfer protocol. Accordingly, implementing a method of detecting the tampering with data provides significant challenges.